package algo3c3g3.model.material;

import algo3c3g3.model.*;

/**
 * Material solido que hace que las unidades se muevan mas rapido sobre el.
 */
public class Ice extends SolidMaterial
{
    protected Ice() {}
    
    public boolean isBreakable()
    {
        return true;
    }
    
    @Override
    public void affectUnitY(Unit unit)
    {
        if(unit.nextBlockIsSolid() == false)
            unit.walk();
    }
    
    @Override
    public String toString()
    {
        return Material.ICE;
    }
    
    
    
    public static void main(String[] args)
    {
        System.out.println();
        
        World world = new World(new Coord(2, 5), null, new TestMaps.TestIceMap());
        
        System.out.println("Mapa:");
        world.printMap();
        
        world.addUnit();
        
        Unit unit1 = world.getUnit(0);
        
        System.out.println("\nNueva unidad:");
        unit1.printStatus();
        
        /* Mueve la unidad varias veces */
        System.out.println("\nPatinando:");
        for(int i = 0; i < 20; i++)
        {
            world.moveUnits();
            unit1.printStatus();
        }
        
        System.out.println();
    }
}
